// 入口函数
$(function () {
    //需求1 切换注册登录需求
    $('#loginBox a').on('click', function () {
        $('#loginBox').hide()
        $('#registerBox').show()
    })
    $('#registerBox a').on('click', function () {
        $('#loginBox').show()
        $('#registerBox').hide()
    })

    //需求2 自定义校验规则
    let form = layui.form
    // verify()的值是一个对象
    form.verify({
        // 属性是规则名称,值可以是数组和对象
        psw: [
            // 第一值个是校验规则
            /^[\S]{6,15}$/,
            // 报错信息
            '密码长度为6-15个字符,且不能包含空格!'
        ],//逗号分隔
        repsw: function (value) {
            // 这里的value是再次输入的密码
            // 也可写成 $('#registerBox [name="repassword"]').val()
            //[] 属性选择器
            // psw是第一次输入的密码
            let psw = $('#registerBox [name="password"]').val()
            if (value !== psw) {
                return '输入的两次密码不一致'
            }
        }
    })

    //需求3 注册功能 发送ajax请求
    //导入layer
    let layer = layui.layer
    $('#registerBox form').on('submit', function (e) {
        e.preventDefault()
        let data = $(this).serialize()
        axios({
            method: 'POST',
            url: '/api/reguser',
            data: data,
        }).then(function (res) {
            // console.log(res);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            layer.msg('注册成功')
            // 清空表单内容
            $('#registerBox form')[0].reset()
            // 跳转登录页面
            $('#registerBox a').click()
        })
    })
    //需求4 登录功能
    $('#loginBox form').on('submit', function (e) {
        e.preventDefault()
        let data = $(this).serialize()
        axios({
            method: 'POST',
            url: '/api/login',
            data: data,
        }).then(function (res) {
            // console.log(res);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            layer.msg('登录成功')
            // 页面跳转
            window.location.href = '/index.html'
            localStorage.setItem('token', res.data.token)
        })
    })
});